0deea85804479ef8dca199d502d6f534e8419026,usermembership/tool/src/java/org/sakaiproject/umem/tool/ui/SiteListBean.java,SiteListBean,doSearch,#,272

Before Change


	private void doSearch() {
		userSitesRows = new ArrayList();
		try{
			Connection c = M_sql.borrowConnection();
			String sql = "select ss.SITE_ID, ss.TITLE, ss.TYPE, ss.PUBLISHED, srr.ROLE_NAME, srrg.ACTIVE, "+
						" (select VALUE from SAKAI_SITE_PROPERTY ssp where ss.SITE_ID = ssp.SITE_ID and ssp.NAME = 'term') TERM " +
						"from SAKAI_SITE ss, SAKAI_REALM sr, SAKAI_REALM_RL_GR srrg, SAKAI_REALM_ROLE srr " +
						"where sr.REALM_ID = CONCAT('/site/',ss.SITE_ID) " +
						"and sr.REALM_KEY = srrg.REALM_KEY " +
						"and srrg.ROLE_KEY = srr.ROLE_KEY " +
						"and srrg.USER_ID = ? " +
						"and ss.IS_USER = 0 " + 
						"and ss.IS_SPECIAL = 0 " +
						"ORDER BY ss.TITLE";
			PreparedStatement pst = c.prepareStatement(sql);
			pst.setString(1, userId);
			ResultSet rs = pst.executeQuery();
			while (rs.next()){
				String id = rs.getString("SITE_ID");
				String t = rs.getString("TITLE");
				String tp = rs.getString("TYPE");
				String pv = rs.getString("PUBLISHED").equals("1")? msgs.getString("status_published") : msgs.getString("status_unpublished");;
				String rn = rs.getString("ROLE_NAME");
				String grps = getGroups(userId, id);
				String active = rs.getString("ACTIVE").trim().equals("1")? msgs.getString("site_user_status_active") : msgs.getString("site_user_status_inactive");
				String term = rs.getString("TERM");
				term = term == null? "" : term;
				UserSitesRow row = new UserSitesRow(id, t, tp, grps, rn, pv, active, term);
				userSitesRows.add(row);
			}
			rs.close();
			pst.close();
			M_sql.returnConnection(c);
		}catch(SQLException e){
			LOG.warn("SQL error occurred while retrieving user memberships for user: " + userId, e);
			LOG.warn("UserMembership will use alternative methods for retrieving user memberships.");

After Change


		PreparedStatement pst = null;
		ResultSet rs = null;
		try{
			c = M_sql.borrowConnection();
			String sql = "select ss.SITE_ID, ss.TITLE, ss.TYPE, ss.PUBLISHED, srr.ROLE_NAME, srrg.ACTIVE, "+
						" (select VALUE from SAKAI_SITE_PROPERTY ssp where ss.SITE_ID = ssp.SITE_ID and ssp.NAME = 'term') TERM " +
						"from SAKAI_SITE ss, SAKAI_REALM sr, SAKAI_REALM_RL_GR srrg, SAKAI_REALM_ROLE srr " +
						"where sr.REALM_ID = CONCAT('/site/',ss.SITE_ID) " +
						"and sr.REALM_KEY = srrg.REALM_KEY " +
						"and srrg.ROLE_KEY = srr.ROLE_KEY " +
						"and srrg.USER_ID = ? " +
						"and ss.IS_USER = 0 " + 
						"and ss.IS_SPECIAL = 0 " +
						"ORDER BY ss.TITLE";
			pst = c.prepareStatement(sql);
			pst.setString(1, userId);
			rs = pst.executeQuery();
			while (rs.next()){
				String id = rs.getString("SITE_ID");
				String t = rs.getString("TITLE");